Program control unit for a digital data processing installation

ABSTRACT

A program control unit for a digital data processing installation is described. The program control delivers macrocommands from a macro-command memory, and micro-commands from a micro-command memory. The micro-commands can be delivered singly or in selected combinations. In addition to the main commands in the macro-command memory which act as macro-commands for directly releasing micro-programs, there are also main commands which follow each other and indirectly cause the delivery of one or more micro-commands. Indirect delivery of micro-commands is caused in any case by a machine address of a memory cell, belonging to the pertinent main command, related to the macrocommand memory for another macro-command. At least one auxiliary command which can be called up by different main commands is contained in a memory cell of this type. Each auxiliary command determines, by means of a micro-command machine address related thereto of the memory cell in the micro-command memory, the delivery of this micro-command or the delivery of this microcommand and the micro-command which follows in the micro-command memory.

United States Patent [191 Beckinger et al.

[451 May 29, 1973 [54] PROGRAM CONTROL UNIT FOR A DIGITAL DATAPROCESSING INSTALLATION [75] Inventors: Gunter Beckinger; HermesGoullon,

both of Munich; Gerhard Wiest, Gauting; Klaus Wehrend; Hans-AlbrechtKiessling, both of Munich, all of Germany [73] Assignee: SiemensAktiengesellschaft, Berlin and Munich, Germany [22] Filed: Mar. 30, 1971[2]] Appl. No.: 129,542

[30] Foreign Application Priority Date Mar. 3i, 1970 Germany ..P 20 i5272.l

[52] U.S. Cl. ..340/172.5

[51] Int. Cl. ..G06f 9/12, G06f 9/16 [58] Field of Search ..340/172.5

[56] References Cited UNITED STATES PATENTS 3,368,205 2/l968 Hunter etal. ..340/|72.5

3,315,235 4/l967 Carnevale et al ..340/l 72.5

3,389,376 6/l968 Packard ..340/l72.5

3,585,600 6/l97l Saltini ..340/l72.5

INTERMEDIATE REGISTER MACRO- COHHAND NACROCOIHAND COUNTER Antoni/mPrimary Examiner -Gareth D. Shaw Anomey-Brich, Swindler, McKie & BeckettABSTRACT A program control unit for a digital data processinginstallation is described. The program control delivers macro-commandsfrom a macro-command memory, and micro-commands from a micro-commandmemory. The micro-commands can be delivered singly or in selectedcombinations. In addition to the main commands in the macro-commandmemory which act as macro-commands for directly releasingmicro-programs, there are also main commands which follow each other andindirectly cause the delivery of one or more micro-commands. lndirectdelivery of micro-commands is caused in any case by a machine address ofa memory cell, belonging to the pertinent main command, related to themacro-command memory for another macro-command. At least one auxiliarycommand which can be called up by different main commands is containedin a memory cell of this type. Each auxiliary command determines, bymeans of a micro-command machine address related thereto of the memorycell in the micro-command memory, the delivery of this micro-command orthe delivery of this micro-command and the micro-command which followsin the micro-command memory.

11 Claims, 1 Drawing Figure MICROCOUHANI] CDUNYER M commie 3 uruom l+L[+5 1 MFA JBMPE HICROCQNHAND REGISTER Pmmmnmzs I975 3, 736, 563

INTERMEDIATE REGISTER MACROCOHHAND COUNTER HICROCOIIMAND BM COUNTER UPC]mm coumo comm HEMORIE nsuomr MPA JLMPE mcnoconmo REGISTER RHZ RMHACROCOIIHAND REGISTER OPERATION IN CONTROL 55E PROGRAM CONTROL UNIT FORA DIGITAL DATA PROCESSING INSTALLATION BACKGROUND OF THE INVENTION As iswell known in digital data processing installations two program levelsor levels of control are provided; namely, one program level, in whichmacrocommands of a macro-program command region are provided and aprogram level, in which microcommands of a micro-program command regionare provided. During the execution of the program in the utilization ofthese program levels in a micro-command is called with the help of amacro-command which mi crocommand is followed by further micro-commandsuntil the micro-program so formed is ended. During their execution themicro-commands themselves control the component units of the dataprocessing installation which serve to process the data. Now it is alsoalready known (see British Pat. No. 1,038,710) to call up by means of amacro-command, micro-commands other than the first micro-command of amicroprogram. By this means, micro-commands belonging to micro-programscan be individually utilized when it is useful for the envisionedprocessing of data. While the addresses necessary for micro-commands arenormally included in the part of a macro-command containing theoperation code, using this mode of operation the addresses ofmicro-commands other than the first micro-command of a micro-program arederived from the remaining part of a macro-command which does notcontain the operations code. It is also known (see U.S. Pat. No.3,325,788) besides individual microcommands to also select a series ofmicro-commands from all of the stored micro-commands. A special seriescontrol circuit is used for this purpose, which only activates at theoutput of certain macro-commands and which functions in place of theotherwise active series control circuit. The cited special seriescontrol circuit represents a control device completely separate from themacro-command memory, in which a counting arrangement (counter)proceeding from a preset value is switched further through a specialmicro-command (see U.S. Pat. No. 3,325,788). Branching control signalsare also to be used in order to obtain the microcommands in theenvisioned manner. Finally, it is also known by use of an additionalso-called path finder memory (path finder storage) to selectively puttogether and to store given series of addresses of microcommandscontained in another memory. By calling up selected ones of these seriesby means of macrocommands additionally formed micro-command series canthen be called up. But here, in comparison with the previously describedarrangement, there is present the disadvantage that a special memorywith its own control devices is to be used, the avoidance of which, asthe other arrangements show, is viewed as very important.

SUMMARY OF THE INVENTION The invention now shows a way how not only anadditional memory can be saved, but also how a special series controlcircuit can be dispensed with. It is, by using this invention, possiblenot only to individually call up single micro-commands from themicroprograms provided, but also to call up segments of these programs.Further, it is also possible to call up entire micro-programs in adifferent manner than usual. The invention also shows that differentcomponent devices of the program control unit provided can be multiplyutilized. Thereby, there is also present, the advantage that theavailable micro-commands and microprograms can be additionally combinedwith each other in various manners in order to be able to carry out manydifferent micro-programs. These combinations are multiply utilized,whereby a saving on storage space is brought about. Further, theinventive measures for the calling up of micro-commands throughmacrocommands can be multiply utilized. The application of the inventiondoes not require a program control unit which produces branching controlsignals. Further, it is not necessary that jumps be carried out in themicrocommand region.

In contrast, the invention proceeds merely from a program control unitfor a digital data processing installation which, in addition tomacro-commands from a macro-command memory, also delivers microcommandsfrom a micro-command memory and can deliver the provided micro-commandssingly or in optionally selected combinations, whereto, in themacrocommand memory, in addition to main commands as macro-commandswhich directly release microprograms, main commands which indirectlycause the delivery of one or more micro-commands also follow each other.This program control unit is thereby characterized that the indirectdelivery of micro-commands is caused by means of a machine address,belonging to the pertinent main command, of a storage cell (memorycell), belonging to the macro-command memory, for another macro-command;that in a memory cell of this type at least one auxiliary command whichcan be called up by different main commands, is contained; and that eachauxiliary command by means of a machine address, belonging to it (to theauxiliary command) of the memory cell, belonging to the microcommandmemory, of a micro-command determines the delivery of this micro-commandor the delivery of this micro-command and the micro-command whichfollows in the micro-command memory.

In accordance with the above statements, the inventive program controlunit has the capability to be able to deliver in addition complete tomicro-programs also micro-commands singly or in optionally selectedcombinations. in order to bring this about, an additional memory is notrequired, because with the help of the auxiliary commands themacro-command memory which is provided is additionally utilized herefor.This makes it possible in the indirect delivery of microcommands toutilize therewith only command counters which are already provided whichcontributes to the saving of a special series control circuit. Thisutilization is especially convenient when the mentioned machineaddresses arise in any given case, in the operation part of amacro-command.

The auxiliary commands envisioned in accordance with the invention arefor, as it were, a program level which is inserted between the level forthe macroprogram and the level for the micro-program. Advantageously,this additional program level can be created in the inventive programcontrol unit without the necessity of a special memory. indeed, herefor,a certain memory space in the macro-command memory which is alreadyprovided is taken up. This memory space, is however, multiply utilizedin that the auxiliary commands contained therein can be called up bydifferent main commands. Thereby, a number of otherwise necessary maincommands which would have individually released a micro-program can besaved through an auxiliary command of this type. lf one takes thisadvantage into consideration, then it results that, over all, areduction of the memory space in the macro-command memory is possible.All this is brought about without the programming being made moredifficult. The main commands which cause the indirect delivery ofmicrocommands can be put into (inserted) by the programmer like,otherwise, usual macro-commands which, as is known, call upmicro-program. The machine address of the first command of an auxiliarycommand series is found in the operation part of the main command. Theinformation part of this main command is performed during the series ofthe auxiliary commands which nor mally have no information partthemselves.

DETAILED DESCRIPTION OF A PREFERRED EMBODlMENT OF THE INVENTIONReferring to the single FIGURE of the drawings, the invention will bedescribed by describing the construction and operation of a preferredembodiment of a program control unit for a data processor. The dataprocessor is not shown or described in that it is not a part of theinvention. Any of the numerous readily available conventional types ofdata processors may be used. An example of a suitable processor withwhich the inventive program control unit might be used is to be found inUS. Pat. No. 3,400,37l. To this program control unit belong themacro-command memory H-Z, which has the memory cells 1 k+8 The maincommands are contained in the part H of the macrocommand memory andindeed in the memory cells 1 k. Auxiliary commands are contained in thepart Z of the macro-command memory with the memory cells k+l k+8. Themacro-command memory H-Z has the macro-command counter BHZ whichdelivers the machine addresses of its memory cells in order to call upmacrocommands contained therein. These, thereby, arrive in themacro-command register RHZ. From there the parts of the macro-commandare passed on over different outgoing lines to other devices, so thatthey can be processed there. The line v leads to the distributor line V,to which the macro-command counter BHZ, the intermediate register R andthe micro-command counter BM are connected. The line 31 leads to theoperation control device S. In addition, the line designated with INFleads away from the command register RHZ, over which line theinformation part of the macro-command is passed onto those devices e.g.,a central processor, which take up and process information. Thepreviously mentioned micro-command counter BM delivers machine addressesfor the memory cells I l+8 belonging to the microcommand memory M. Inthis micro-command memory are contained micro-programs composed of aplurality of micro-commands, such as the micro-program MP1 having themicrocommands mpll mpl4 as well as micro-commands which can be called upindividually, such as the micro-commands Bx. A micro-command called upin any given case, is routed to the microcommand register BM. lt takeseffect over lines which lead away from there. Thus, a micro-command hasto activate, for example, switching points over which the processingunit devices which cooperate in the carrying out of the operationindicated by the command are connected together. These switching pointsare controlled over the lines designated with SBE. Also, the line s3leads from the micro-command register RM to the operation control deviceS, so that this device can also be influenced by a micro-command. Theoperation control device S can, for its part, influence the manner ofoperation of the micro-command memory M together with the micro-commandcounter (BM) belonging thereto, which is indicated by the line :4leading thereto. In addition, the operation control device 8 can alsoinfluence the manner of operation of the macrocommand memory I-l-Ztogether with the macrocommand counters BHZ belonging thereto, which isindicated by the line s2 leading thereto.

The counters, registers, and memories described hereinabove areconventional in construction, and it is contemplated that any of anumber of well known prior art devices can be used for these components.For example, the above cited British Pat. No. 1,038,710 contains adetailed description of a construction of a microprogram controlled dataprocessor, and in particular, describes suitable constructions forcounters, registers, and memories which might be equally as well appliedto this invention. A detailed description of a particular control unitcorresponding to the operation control S described hereinabove is to befound in US. Pat. No. 3,325,788. This latter patent describes a servocircuit which may be employed to perform the sequential controloperations required of operation control S. This US. patent, inaddition, provides descriptions of suitable registers, counters andmemories which may be used in conjunction with this invention.

As indicated above, the indirect delivery of microcommands is caused inany given case by means of a machine address, belonging to the pertinentmain command, of a memory cell, belonging to the macrocommand memoryH-Z, for another macro-command. Main commands of this type are found,for example, in the memory cells 3 and 7 of the part [-1 of themacrocommand memory. They are inserted between other main commands,which directly release microprograms. A main command of this type isfound, for example, in the memory cell 1. The operation code OPCl andthe information part INFl belong to this main command. The operationcode OPCI comes in the part 0pc of the macro-command register RHZ, whenthis main command is called up by means of the address 1 by themacro-command counter BHZ. This operations code arrives at themicro-command counter BM over the line v and over the distributor lineV; it there brings about the corresponding counter position whereby amicro-program is then called up in the micro-command memory M. If, forexample, the memory cell 3 of the part H of the macro-command memory iscalled up by the macro-command counter BHZ, then instead of theoperation code OPCl the machine address k+l arrives in the part 0pc ofthe macrocommand register RHZ. Through this machine address, it isbrought about that the macro-command contained in the memory cell k+l iscalled up by the macrocommand counter BHZ.

When the machine addresses are memory cells of the macro-command memorywhich differ from machine address of memory cells of the micro-commandmemory by their code or by their size, then they can be correctlyutilized in any given case without the use of special control signals(control characters). If these differences are not present, then thecorrect utilization can be brought about in that the machine addressesarising in the macro-command memory are supplemented in the operationpart by at least one additional control character (control signal),which determines their evaluation. l-lerefor, a special memory cell canbe provided in the memory cell utilized in any given case. This measureis envisioned or provided for in the macrocommand memory H-Z. Theadditional control character A is contained in the special memorylocation in the memory cells 3 and 7, which indicates that the machineaddress k+l in the memory cell 3 and the machine address k+3 in thememory cell 7 belong, in any given case, to a memory cell of themacro-command memory itself. The control character A can release stillfurther effects, as will be described later. After the memory cell 3 ofthe part H of the macro-command memory has been called up, the memorycell k+l of the part 2 of the macro-command memory is called up. In thismemory cell, there are contained three auxiliary commands. The machineaddress 1+4 and the control character E belong to the first auxiliarycommand. Firstly, it is considered alone. The machine address 1 and thecontrol character I? belong to the second auxiliary command and themachine address 5 and the control character B belong to the thirdauxiliary command. The meaning of the mentioned control characters willbe explained hereafter. The machine addresses belonging to the auxiliarycommands bring it about that each auxiliary command calls up a memorycell belonging to the micro-command memory M (and indeed, when itarrives in the macro-command register RHZ). The machine address l+4arrives as do the other pertinent address in the part of themacro-command register RHZ. it is routed over the line v and thedistributor line V to the micro-command counter BM of the microcommandmemory and it causes the memory cell 1+4 to there be called up, in whichmemory cell l+4 the micro-command Bx is contained. When the main commandof the memory cell 7 of the part H of the macrocommand memory is calledup, then the machine address k+3 arrives in the macrocommand registerRHZ and is also used because of the participation of the controlcharacter A to call up a memory cell of the macrocommand memory; namely,the memory cell k+3, in which among other things, the auxiliary commandwith the machine address 4 and the control character B is found. Themachine address 4 then arrives in the part 0pc of the macro-commandregister RHZ and causes the memory cell 4 of the micro-command memory Mto be called over the micro-command counter BM, in which memory cell 4the micro-command mp14 is found, which (micro-command) belongs to themicroprogram MP]. in the last described manner, a single micro-commandis called up with the help of an auxiliary command, which (singlemicro-command) belongs to a micro-program, and which will be singly(individually) carried out thereafter, because the single microcommandarrives in the micro-command register RM as a single command of thismicro-program.

Through the above described processes, which serve to call upmicrocommands, two micro-commands contained in the micro-command memoryare delivered in a combination, which first results when auxiliarycommands are utilized. In a corresponding manner, optional selectedcombinations of microcommands can be delivered, insofar as auxiliarycommands adapted only herefor, are provided. If the auxiliary command inthe memory cell k+3 of the part 2 of the macro-command memory had hadthe machine address 3 instead of the machine address 4, then the memorycell 3 of the micro-command memory would have been called up and thecommands contained in the memory cells 3 and 4 of the micro-programmemory M would have been called up through the participation of anappropriate control character, wherefrom it results that each auxiliarycommand can detennine the delivery of a certain micro-command of thedelivery of this micro-command and the following microcommand in themicro-command memory by means of a machine address belonging to it (tothe auxiliary command). Thereby, a series of micro-commands can hereform a micro-program section reaching up to the end of a micro-programor the series can also form an entire micro-program. To call up themicro-commands belonging thereto, the micro-command counter BM is tocount further, preceding from the first machine address delivered to it,until the end of the pertinent microprogram is reached. This is the samemanner of operation which the micro-command counter has when amicro-program is directly called up by a main command. Thus, this mannerof operation results without special measures being necessary.

As mentioned above, the machine addresses which arise in the operationparts of certain main commands or of the auxiliary commands, aresupplemented there, by at least one additional control character, whichdetermines the evaluation of the machine addresses. In the following, inaddition to the already described control character, A, among otherthings, still further control characters and their evaluations will bedescribed in detail.

To begin with the description of the evaluation of the control characterA will be supplemented, which control character supplements a machineaddress belonging to a main command. This control character allows themicro-program MPA to run, through which the operation of the programcontrol unit is switched over to the utilization of auxiliary commands.The control character A operates for this purpose after it has arrivedin the part sm of the macro-command register RHZ. It is there connectedto the line s1, which leads to the operation control device S, overwhich it also arrives at this operation control device. The operationcontrol device S causes the micro-command counter BM to take or assumethe counter reading (counter condition, or counter position) inaccordance with the machine address 1+5 and thereby to call up the firstmicro-command of the micro-program MPA which thereupon runs to its end,whereby the operation of the program control unit is switched over inthe previously mentioned manner. It is to be noted that the machineaddress is delivered alone by the operation control device S and not bythe macro-command memory H-Z, for the micro-program MFA can also havethe value 0 in case of corresponding situations of the microprogram. Inthis case, no special expenditure for the delivery of this machine isrequired. In the course of the switch-over of the operation, differentprocesses (operations) take place. To begin with, the erasure of theinformation part of a main command in the part inf of the macro-commandregister RHZ in case of a change of the counter reading of themacro-command counter BHZ will be blocked. Consequently, the informationpart INF3 which arrives in the part inf of the macro command registerRHZ, for example, in case of calling up of the memory cell 3 of the partH of the macrocommand memory will not be erased, when thereafter, thememory cell k-H of the part 2 of the macrocommand memory is called upwith the help of the macro-command counter BHZ. In case of not-switchedover operation, in which macro-commands which directly releasemicro-programs are successively called up, this erasure is not blocked,because thereby with each macro-command another information part is fedinto the part of the macro-command register RHZ. In contrast, to thisoperation, in case of switched over operation, the information part fedinto the part inf of the macro-command register RHZ with the calling upof a main command, is to be preserved there, when one or possibly morethan one auxiliary commands are thereafter called up, because themicro-commands to be carried out are first delivered after the auxiliarycommands have been called up and because the mentioned information partis required in the carrying out of the microcommands. With theswitch-over of the operation to the utilization of auxiliary commands,the counter reading (counter position) z of the macro-command counterBHZ is further to be temporarily stored intermediately at another place,so that after the calling up of auxiliary commands, with the help ofmachine addresses belonging thereto, whereby the macrocommand counterBHZ has to assume other counter readings, (counter positions), theprogram can proceed with the calling up of main commands in theenvisioned sequence. The counter reading (position) 2 of themacro-command counter BHZ is in the case of the program control unitshown in the FIGURE, transferred to the intermediate register R andintermediately stored there. Instead, it could also be termporarilystored intermediately in a special memory cell of the macrocommandmemory. After the counter reading 1 of the macro-command counter BHZ hasbeen intermediately stored, auxiliary command after auxiliary command iscalled up by the further counting of the macrocommand counter BHZ.Hereby, in as far as special measures are not provided, memory cellafter memory cell of the part Z of the macro-command memory will becalled up. This takes place until an auxiliary command appears which hasa machine address through which the micro-commands of the micro-programMPA are delivered, which cancels the switch-over of operation, whereby,other things, the macro-command counter BHZ is set corresponding to itsintermediately stored counter reading z (counter position). For example,the auxiliary command contained in the memory cell k+7 of the part Z ofthe macro-command memory has this machine address 1+8. In the previouslydescribed manner, the micro-command counter BM is set in accord withthis machine address, whereby the micro-program MPE which is out in themicro-program memory M is called up and runs to its end. Through themicro-commands belonging thereto, the operation control S, among otherthings, is influenced, when they arrive in the micro-command registerRM. The operation control device S then controls, among other things,the previously mentioned processes (operations), for example, thesetting of the macro-command counter BHZ. lt (operation control device)has also previously already cooperated in a corresponding manner withthe running of the micro-program MPE.

In the part Z of the macro-command memory, there are memory cells, whichin any given case, contain a plurality of auxiliary commands, forexample, in the memory cell k+l, to which reference has previously beenmade. This has the advantage that the memory space belonging to a memorycell is completely utilized. Auxiliary commands, as they have beenpreviously described, contain no information part, so that the memoryspace which otherwise would be used herefor, is available for otherpurposes. it is utilized, as is shown in the FIGURE for the memory cellk+l for the recording of further auxiliary commands. So that theseauxiliary commands are called up in the correct sequence during thefurther counting of the macrocommand counter BHZ, the macro-commandcounter Bl-[Z is to supplementally count further by one counter positionfor such memory cells. This supplementary counter position is alsoindicated in the FIGURE next to the macro-command counter Bl-lZ, and isprovided with the reference character za. If the macro-command counterBHZ has reached a counter reading which corresponds to the machineaddress Ic+l, then it next assumes two intermediate counter readings,before it takes the counter reading or position corresponding to themachine address k+2. These intermediate counter readings or positionsare also utilized to bring the auxiliary commands belonging thereto (tothe intermediate counter positions) in the part obc and sm of the macrocommand register RHZ, which parts receive the operation part. With thehelp of the setting za of the supplementary counter position, theswitching points 202 and M3 are accordingly activated, so that, forexample, the auxiliary command having the machine address one and thecontrol character E when it is called up, correctly arrives in the parts0pc and sm of the macrocommand register RHZ, which parts are providedfor the take up of the operation parts. The macrocommand counter BHZ isadvanced by one counter position, when it is indicated by the controlcharacter A that auxiliary commands are to be called up. Thesupplementary counter position, however, need not be intermediatelystored in the intermediate register R, because it is not required by themacro-command counter BHZ in further counting for the calling up of maincommands. The supplementary counter position can also be utilized to leta series of auxiliary commands begin in the part of the memory cellsotherwise envisioned for the information part. The value of thesupplementary counter position must then be contained in the operationspart of the main command which releases such a series of auxiliarycommands. The memory space in the part of the macro-command memory willthen be fully utilized. 4

The machine addresses belonging to the previously mentioned auxiliarycommands, are supplemented in any given case, by control characters. Inaddition to the control character A, the control characters B and T3were also used thereby. The control character B indicates that, only onesingle micro-command is to be delivered. The control character indicatesthat a series of micro-commands is to be delivered at the call up of thepertinent auxiliary command. Such a series of micro-commands can, asindicated above, form a program segment (program section) or an entiremicroprogram. The micro-command counter BM therefore counts furtheraccording to its normal manner of operation at the appearance of thecontrol character F [n contrast, at the appearance of the controlcharacter B, it is now switched further as usual. Instead, after thecarrying out of the pertinent micro-command, the macro-command counterBHZ is switched further. in order to bring this about, the controlcharacters are routed in the above described manner over the line :1 tothe operation control device S, which switches over the manner ofoperation of the micro-command counter BM over the line 34 according tothe control character. In a corresponding manner, at the appearance ofthe control character A, the manner of operation of the macrocommandcounter BHZ is switched over the line $2.

The operation control device S can also be utilized to switch over themanner of operation ofa memory at the appearance of a correspondingcontrol character. This gives rise, for example, to the previouslyunmentioned control character E, which is contained in the memory cellsk+2 and k+4 of the part Z of the macro-command memory. Through thiscontrol character E, which supplements the machine address belonging toan auxiliary command, the blocking of the erasure of the informationpart INF of a main command in the part inf of the command register RHZof the macro-command memory H-Z is lifted.

Through the fact that this special control character is provided, it ismade possible that supplemented auxiliary commands can also be provided,which in addition to a machine address, and the control characters B orcontain an information part. Thus, the auxiliary command of the memorycell k+5 contains the machine address l+4, the control character B andthe information part lNF+5. The auxiliary command in the memory cell k+6contains the machine address 1, the control character E and theinformation part lNF+6. Such auxiliary commands directly or indirectlyfollow an auxiliary command which is provided with the control characterE for lifting the blocking of the erasure of the information part in thepart inf of the macrocommand register RHZ. The supplemented auxiliarycommands in the memory cell k+5 directly follows and the auxiliarycommand in the memory cell k+6 indirectly follows another auxiliarycommand which exhibits the control feature E; namely, the auxiliarycommand in the memory cell k+4. Morememory space is required for asupplemented auxiliary command than for a usual auxiliary command, sothat only one single supplemented auxiliary command is contained in amemory cell. The control character E, which achieves the lifting of theblocking of the erasure of the information part in the part inf of themacro-command register RHZ, must, if the occassion arises, therefore,also, achieve that in the macro-command counter during further countingonly the counter readings (positions) which hold the memory cellsthemselves are used, thus, that the mentioned supplementary counterposition is not used. With the help of the above described supplementaryauxiliary command, it is brought about that at their (auxiliarycommands) calling up information parts individually assigned to them canbe utilized, which (information parts) are functional at the calling upof assigned micro-commands. It has previously been pointed out that anauxiliary command can be called up, in any given case, with the help ofdifferent main commands, the machine address of the auxiliary command tobe called up must be contained in the main command with which itbelongs. If a supplemented auxiliary command is utilized in this manner,then information parts can be taken into consideration thereby, whichsupplement in a certain manner the information part belonging to themain command; namely, of the type that, for example, the supplementedauxiliary command follows an unsupplemented auxiliary command, withwhich the information part belonging to the main command has alreadybeen taken into consideration. With the help of the auxiliary commandsand the supplemented auxiliary command, there, therefore, results anexceptional flexibility in programming which can be utilized for thesolution of different problems.

Now for a better overview of how the individual operations developduring the running of a program, such program operations will be brieflydescribed in conjunction with the drawing. Through the macrocommandcounter BHZ, the memory cells I k, in which main commands are found, aresuccessively called up. Therebetween, is inserted the calling up ofmemory cells of the part Z of the macro-command memory. After themacro-command counter has called up the memory cell 3, the memory cellk+l is called up in accordance with the machine address k+l which isfound in the memory cell 3.

Beforehand, the control character A takes effect, which is found in thememory cell 3. it causes, that with the help of the operation controldevice S the operation of the macro-command memory H-Z is switched overin the previously described manner from the calling up of memory cellshaving main commands to the calling up of memory cells having auxiliarycommands, and indeed, this is accomplished in that the micro-program MPAis called up and executed. At the calling up of the memory cell k+l, theauxiliary command having the machine address H4 and the controlcharacter B takes effect. This has, as a result, that the singlemicrocommand from the memory cell [+4 in the microcommand memory M;namely, the micro-command Bx, is called up. Thereafter, the auxiliarycommand with the machine word 1 and the control character F in thememory cell k+l is called up. This has, as a result, that themicro-program MP1 beginning in the memory cell 1 of the micro-commandmemory M is called up and, indeed, this takes place up to its lastprogram step mpl4. Thereafter, the auxiliary command with the machineaddress 5 and the control character T3 in the memory cell k+l is calledup. This has as a result that in the micro-program memory M themicro-program MP2, which begins at the memory cell 5, is completelycalled up. Thereafter, in the memory cell k+2, the first auxiliarycommand; namely, the command having the machine address 1+3 and thecontrol character B, is called up. This has, as a result, that the lastmicrocommand mpnq of the micro-program MPn which is found in the memorycell 1 +3 of the micro-program memory M is individually called up.Thereafter, in the memory cell k+2, the second auxiliary commands whichhas the machine address l+8 and the control characters E and F, iscalled up. The machine address 1+8 causes, that the micro-program MPEbeginning at the memory cell 1+8 in the micro-program memory, is calledup, which micro-program reverses again the switch-over of operationcaused previously by the control characters A of the memory cell 3 andby the micro-program MPA. The control character of the auxiliary commandin question, determines that a series of micro-commands will beexecuted, the control character E of this auxiliary command determines,that the blocking of the erasure of the information part in the part infof the macro-command register RHZ is lifted again. Because of thereversal of the switch-over of operation, the memory cell 4 of the partI-[ of the macrocommand memory will now be called up by the macrocommandcounter BI-IZ. The macro-command counter BHZ then counts further, untilit calls up the memory cell 7. There the control character A is present,which with the cooperation of the operation control device S causes thatthe micro-program MPA runs, whereby, the operation is switched over tothe calling up of auxiliary commands. In accordance with the machineaddress k+3 in the memory cell 7, the auxiliary commands which are foundin this memory cell are successively called up similar to the way it haspreviously been described and, thereafter, the auxiliary command in thememory cell k+4 is called up. This auxiliary command has the machineaddress 1 and the control characters E and E. Therefore, themicro-program MP1 is executed and the blocking of the erasure of theinformation part in the part of the command register RHZ will be liftedafter execution of this micro-program. Further, with the help of theoperation control S, it will be brought about that the micro-commandcounter BHZ counts further (continues to count) without its counterposition za which supplements the counter. Therefore, subsequently, thesupplemented auxiliary command which is found in the memory cell k+5will be called up. It arrives in the macro-command register RHZ, andindeed, including its information part lNFk+5. Based on the machineaddress l+4 and the control character 8, the micro-command BX is calledup and carried out. Thereafter, the memory cell k+6 is called up, inwhich, likewise, a supplemented auxiliary command is found, throughwhich the micro-program MP1 is called up, during the execution of whichmicro-program the information part INFk+6 is taken into consideration.Thereafter, the memory cell k+7 is called up by the macrocommand counterBHZ, in which memory cell the auxiliary command having the machineaddress 1+8 and the control character rB is found. In the previouslydescribed manner, the micro-program MPE is thereupon executed and theoperation for the macro-command memory is again switched over to thecalling up of main commands. This, has as a result, that subsequently,the main command which is found in the memory cell 8 is called up.

In the FIGURE, it is shown with reference to examples, howmacro-commands and micro-commands can follow each other. In the part Zof the macro-command memory, auxiliary commands and supplementaryauxiliary commands can follow each other in different combinations andcan, in any given case, as was previously indicated, be multiplyutilized by different main commands, whereby, there results manydifferent combination possibilities. Thereby, the provisions for jumpswithin the part H of the macro-command memory or in the micro-commandmemory M are not required. If such provisions are present, then they canbe utilized in conjunction with the envisioned different programs forthe arrangement of commands. Thus, even jumps between auxiliary commandscan be envisioned in which series of auxiliary commands are utilized assubprograms. Hereby, the information parts of commands can also beutilized for jump addresses.

In every case, through the utilization of selected combinations ofmicro-commands or of series of microcommands, which also include onlyparts of a microprogram, longer micro-programs can be put togetherthrough combinations of such micro-commands and micro-command series.Such longer micro-programs, therefore, need not be contained in themicro-program memory in a continuous arrangement of the microcommandsbelonging thereto. The multiple utilization of the cited pans ofmicro-programs also, therefore, makes possible that memory space isconserved in the micro-program memory. In border line cases, allrequired micro-programs can be put together from micro-program segmentsor even from single microcommands.

We claim:

I. In a program control unit for a digital data processing installationhaving a macro-command memory and a micro-command memory and whichdelivers, in addition to macro-commands from the macro-command memory,micro-commands from the micro-command memory and can thereby delivermicro-commands singly or in a preselected combination and having inaddition to main commands in the macrocommand memory which act asmacro-commands for directly releasing micro-programs, main commandswhich follow each other and indirectly cause the delivery of at leastone micro-command, the improvement comprising:

means responsive to a macro-command machine address for a main commandin a memory cell in said macro-command memory for causing indirectdelivery of micro-commands,

said memory cell containing at least one auxiliary command which isaccessible by different main commands and means utilizing amicro-command machine address of a memory cell in said micro-commandmemory for causing said auxiliary command to determine one of thedelivery of a predetermined microcommand or the delivery of saidmicro-command and following micro-commands in said microcommand memory.

2. The program control unit defined in claim 1 wherein saidmacro-command memory is arranged such that said auxiliary commands haveno information portions.

3. The program control unit defined in claim 1 further comprising:

means for forming a series of micro-commands into one of a completemicro-program and a microprogram segment extending to the end of amicroprogram.

4. The program control unit defined in claim 1 further comprising:

macro-command counter means in said macrocommand memory andmicro-command counter means in said microcommand memory.

5. The program control unit defined in claim 4 wherein said memories arearranged such that machine addresses occur in the operation portion of amacrocommand and the information portions thereof are utilized in aconventional micro-program call-up and further comprising:

at least one control character in said machine addresses and specialmemory locations in said memory cells for said additional characters.

6. The program control unit defined in claim 5 wherein said additionalcharacter in said machine address causes the operation of amicro-program, switching same to utilization of said auxiliary commandswithout using an address in said macro-command memory and furthercomprising:

a macro-command register in said macro-command memory for registeringmain commands, means for blocking erasure of the information portion ofa main command in said macro-command register during changes in thereading of said macro-cornmand counter, whereby the latter informationportion is effective during the following access of auxiliary commandssimilar to the information portions of auxiliary commands, means fortemporarily storing the reading of said macro-command counter, meanstransferring the machine address for the main command to saidmacro-command counter for calling up an auxiliary command, saidmacro-command counter being operative to call up successive auxiliarycommands during successive counting operations, said successive call-upsoccurring until an auxiliary command appears which has a machine addressthrough which microcommands of a micro-program are delivered and meansresponsive to said micro-commands for reversing said counting operationto set said macrocommand counter to the reading in said temporarystorage means. 7. The program control unit defined in claim 6 furthercomprising:

a plurality of memory cells in said macro-command memory for storingeach of a plurality of auxiliary commands, said memory cells beingsuccessively accessed by the counting operations of said macrocommandcounter.

8. The program control unit defined in claim 6 wherein the machineaddress for an auxiliary command is supplemented by a control characterindicative of whether one or a series of micro-commands is to bedelivered.

9. The program control unit defined in claim 8 further comprising:

means responsive to the appearance of the one of said supplementalcontrol characters indicative of a single micro-command for blockingfurther counting operations of said micro-command counter.

10. The program control unit defined in claim 9 further comprising:

operation control means which responds to control characters to controlthe operations of said memories and said counters.

11. The program control unit defined in claim 6 further comprising:

means for ending the blocking of the erasure of the information portionof the main command in the macro-command register responsive to asupplemental character in said auxiliary command.

1. In a program control unit for a digital data processing installationhaving a macro-command memory and a micro-command memory and whichdelivers, in addition to macro-commands from the macro-command memory,micro-commands from the micro-command memory and can thereby delivermicro-commands singly or in a preselected combination and having inaddition to main commands in the macro-command memory which act asmacro-commands for directly releasing micro-programs, main commandswhich follow each other and indirectly cause the delivery of at leastone micro-command, the improvement comprising: means responsive to amacro-command machine address for a main command in a memory cell insaid macro-command memory for causing indirect delivery ofmicro-commands, said memory cell containing at least one auxiliarycommand which is accessible by different main commands and meansutilizing a micro-command machine address of a memory cell in saidmicro-command memory for causing said auxiliary command to determine oneof the delivery of a predetermined microcommand or the delivery of saidmicro-command and following micro-commands in said micro-command memory.2. The program control unit defined in claim 1 wherein saidmacro-command memory is arranged such that said auxiliary commands haveno information portions.
 3. The program control unit defined in claim 1further comprising: means for forming a series of micro-commands intoone of a complete micro-program and a micro-program segment extending tothe end of a micro-program.
 4. The program control unit defined in claim1 further comprising: macro-command counter means in said macro-commandmemory and micro-command counter means in said micro-command memory. 5.The program control unit defined in claim 4 wherein said memories arearranged such that machine addresses occur in the operation portion of amacro-command and the information portions thereof are utilized in aconventional micro-program call-up and further comprising: at least onecontrol character in said machine addresses and special memory locationsin said memory cells for said additional characters.
 6. The programcontrol unit defined in claim 5 wherein said additional character insaid machine address causes the operation of a micro-program, switchingsame to utilization of said auxiliary commands without using an addressin said macro-command memory and further comprising: a macro-commandregister In said macro-command memory for registering main commands,means for blocking erasure of the information portion of a main commandin said macro-command register during changes in the reading of saidmacro-command counter, whereby the latter information portion iseffective during the following access of auxiliary commands similar tothe information portions of auxiliary commands, means for temporarilystoring the reading of said macro-command counter, means transferringthe machine address for the main command to said macro-command counterfor calling up an auxiliary command, said macro-command counter beingoperative to call up successive auxiliary commands during successivecounting operations, said successive call-ups occurring until anauxiliary command appears which has a machine address through whichmicro-commands of a micro-program are delivered and means responsive tosaid micro-commands for reversing said counting operation to set saidmacro-command counter to the reading in said temporary storage means. 7.The program control unit defined in claim 6 further comprising: aplurality of memory cells in said macro-command memory for storing eachof a plurality of auxiliary commands, said memory cells beingsuccessively accessed by the counting operations of said macro-commandcounter.
 8. The program control unit defined in claim 6 wherein themachine address for an auxiliary command is supplemented by a controlcharacter indicative of whether one or a series of micro-commands is tobe delivered.
 9. The program control unit defined in claim 8 furthercomprising: means responsive to the appearance of the one of saidsupplemental control characters indicative of a single micro-command forblocking further counting operations of said micro-command counter. 10.The program control unit defined in claim 9 further comprising:operation control means which responds to control characters to controlthe operations of said memories and said counters.
 11. The programcontrol unit defined in claim 6 further comprising: means for ending theblocking of the erasure of the information portion of the main commandin the macro-command register responsive to a supplemental character insaid auxiliary command.